Identification of the use of AAL5 allows enablement of features such as Partial Packet Discard (PPD) and Early Packet Discard (EPD), as well as variations on PPD and EPD such as Late Packet Discard (LPD) and Random Early Discard (RED), all of which operate only on AAL5 traffic. Such cell discard techniques are known in the art and used to control congestion in an ATM network. These methods operate on AAL5 frames, also referred to in the art as AAL5 packets, which can contain up to 64 KB of payload information segmented into ATM cells. In PPD, once an ATM switch has dropped an ATM cell from an AAL5 frame, then the switch should drop the remaining ATM cells belonging to the same AAL5 frame, except possibly the last cell. The remaining cells are dropped since AAL5 cannot reconstruct the frame at the destination switch absent the dropped cell, since the source must retransmit the entire frame it drops the remaining cells in the frame to prevent unnecessary transmission and use of bandwidth.
Unlike PPD, which acts on cells belonging to frames which have already had some cells admitted to output buffers, EPD acts on cells belonging to frames which have not had any cells admitted to the output buffers. If the available buffer space cannot accommodate all the cells from an AAL5 frame, EPD drops all cells in the frame. Since the source would have to retransmit the entire frame anyway if only cells not accommodated by the buffers were dropped, EPD prevents unnecessary transmission by simply dropping all the cells in the frame before initial transmission. EPD, like PPD, thus serves to prevent unnecessary consumption of network resources, such as buffer space and bandwidth.
When an ATM switch receives a request to set up a new Virtual Channel Connection (VCC), the switch may not know whether the connection will carry AAL5 frames or only individual ATM cells using, e.g., AAL1, AAL2, AAL3/4, or a proprietary AAL protocol. Because packet discard methods operate only on AAL5 frames, an ATM switch must be aware of whether or not the ATM cells it receives are part of an AAL5 frame in order to apply a packet discard strategy.
Furthermore, when the ATM switch switches the VPC within which the VCC operates, the switch is given no information regarding the VCCs in use within the VPC. Moreover, because cells arriving at the switch may be interleaved among a plurality of VCCs in use within the VPC, the rule that AAL5 packets travel across a VCC in sequential order cannot be relied upon in the context of the VPC.
One approach to the problem of determining traffic type at the ATM switch has been to use the optional signaling information element (IE) to identify the traffic as type AAL5. However, because the IE for signaling the AAL type is optional, this method is not always available. A second approach to the problem has been to require an operator having personal knowledge of the type of traffic on the circuit to provision features such as PPD and EPD when the switch initially sets up the circuit. While this is a workable solution for a Permanent Virtual Connection (PVC), it suffers from additional administrative costs and time. For a Switched Virtual Connection (SVC), this solution is not viable, because operator intervention is not possible every time the switch receives a setup request for an SVC.
It is impractical to keep a state variable in data memory for each VCI in a VPC connection because this would require too much memory (64 K locations). Alternatively a smaller set of variables could be maintained in data memory which could be dynamically assigned to currently active VPI/VCI combinations.
If this approach is adopted, a method for indexing or reaching a particular state variable location from a VPI/VCI value must be identified. While using a content addressable memory is the simplest implementation, it is also very expensive. As well, CAM is only available in a limited selection of memory sizes. A linked list structure suffers from the drawback of being slow.
It is desirable, therefore, to provide a scheme for automatically detecting the presence of AAL5 frames on a VCC without relying on the signaling IE or operator intervention.
One approach to the problem of not knowing what VCCs are in use within a VPC is to keep state information on a VCC basis. A VCC is identified by the combination of an 8 or 12-bit Virtual Path Identifier (VPI) and a 16-bit Virtual Channel Identifier (VCI). Thus, a minimum of 16 megabits of data would be required per link in order to allocate a single bit of data to each possible VCC. Such extensive memory allocation runs counter to the philosophy of minimizing the amount of data maintained at the switch which led to the development of the hierarchical structure of VCCs and VPCs.
It is also desirable to provide a quick and cost-effective mechanism to learn which VCCs are in use in a VPC and to automatically detect the presence of AAL5 frames in a switch responsible for switching the VPC.
With automatic detection of AAL5 frames, an ATM switch can enable features such as PPD and EPD in order to protect switch resources and ensure fair treatment among connections. As yet, no ATM standards provide automatic detection of whether a connection carries data that has been segmented using AAL5.